演習3:SQLAlchemy ORM と Alembic
演習 3.1: Alembicでマイグレーションスクリプトを自動生成させてみよう
演習 2.2.1 で作成した sampledb/account.sqlite を、alembic を使ってマイグレーションしてみましょう。
演習 3.1.1 マイグレーションの初期化をしてみよう
alembic の init サブコマンドを使って、マイグレーションをできるように準備しましょう。
アドバイス
init サブコマンドを使って初期化する必要があります。
Alembic がデータベースにアクセスできるようにするために、なにかのファイルを修正する必要があります。
マイグレーションスクリプトを作成する必要があります。
レビジョンを確認しておきましょう。
演習 3.1.2 Account テーブルにレコード追加してみよう
直接 Alembic とは関係ありませんが、マイグレーションを理解するために、まずテーブルにカラムをを追加しましょう。
それをAlembic を使ってマイグレーションのレビジョンを更新してみましょう。
table: accounts のカラム
カラム名 型 説明
id Integer ユーザID (プライマリキー)
username String(32) ユーザ名
fullname String(32) 姓名
password String(256) パスワード
confirm_password String(256) パスワード確認用
about_me TEXT(256) 自己紹介
アドバイス
alembic のサブコマンドでは revision を使ってレビジョンを更新します。
レビジョンを確認しておきましょう。
演習 3.1.3 Alembic でダウングレードしてみよう
先の演習で更新されたマイグレーションのレビジョンをひつ前にダウングレードしてみましょう。
アドバイス
alembic のサブコマンドでは downgrade を使って最初のレビジョンにダウングレードします。